[Chapter 35] 35.2 Header Names
Author: Bryan Costales & Eric Allman
Date: 1999-01-06T21:47:47Z

#

| Chapter 35 Headers |

## 35.2 Header Names

The `name` portion of the `H` configuration command must be one of the names shown below. Other names do not produce an error but may confuse other programs that need to process those illegal names. Names marked with an asterisk are defined by RFC822.

apparently-to | full-name | reply-to* | return-receipt-to
bcc* | in-reply-to* | resent-bcc* | sender*
cc* | keywords* | resent-cc* | subject*
comments* | mail-from | resent-date* | text*
content-length | message* | resent-from* | to*
content-type | message-id* | resent-message-id* | via
date* | posted-date | resent-reply-to* | x400-received
encrypted* | precedence | resent-sender* |
errors-to | received* | resent-to* |
from* | references* | return-path* |

These are discussed individually in Section 35.10, "Alphabetized Reference" at the end of this chapter.

The RFC822 standard allows a special form to be used for creating custom header names. All mail programs, including sendmail, are required to accept and pass through as is any header name that begins with the special characters `x-`. The following header definition, for example, can be used to introduce information that your site is running an experimental version of sendmail:

>     HX-Beware: This message used an experimental version of sendmail

The `name` part of header definitions is case-insensitive. That is, `X-Beware`, `x-beware`, and `X-BEWARE` are all the same. For example, when sendmail checks for the `To:` header internally, it will recognize it no matter how it is capitalized.

Beginning with V8 sendmail, header names are left alone. They are passed through without case conversion of any kind. Previous assumptions [1] about capitalization are no longer valid in light of new headers generated and expected by programs.

> [1] Prior to V8 sendmail, all headers were converted to lowercase and stored. Later, when mail was sent, they were then capitalized in a way similar to that of proper names, in which the first letter of each word was capitalized.

Header names may contain only printable characters. Names may not contain control characters, space characters (such as space and tab), or the colon character. An illegal character will result in this error message:

>     header syntax error, line "HFull Name: $x"

Here, the error is a space in the name portion of the header declaration.

35.1 The H Configuration Command |  | 35.3 Header Field Contents